package jschool.net.email;

import java.util.Properties;

import javax.mail.Session;
import javax.mail.MessagingException;
import javax.mail.Transport;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;


public abstract class Email
{
private Properties propiedades;
private Session session;
private MimeMessage mensaje;
private Transport transportador;

private final String email = "";
private final String clave = "";

//--------------------------------------------------------------------------

	public Email()
	{
		propiedades = new Properties();	
		propiedades.setProperty("mail.smtp.host", "smtp.gmail.com");
		propiedades.setProperty("mail.smtp.starttls.enable", "true");
		propiedades.setProperty("mail.smtp.port","587");
		propiedades.setProperty("mail.smtp.user", email );
		propiedades.setProperty("mail.smtp.auth", "true");

		session = Session.getDefaultInstance( propiedades );
		session.setDebug( false );

		mensaje = new MimeMessage( session );
	
		try {
			transportador = session.getTransport( "smtp" );
			mensaje.setFrom( new InternetAddress( email ) );
		}
		
		catch( AddressException ae ) {
			ae.printStackTrace();	
		}
		
		catch( MessagingException me ) {
			me.printStackTrace();	
		}		
	}
	
//--------------------------------------------------------------------------
	
	public abstract void cambiarDestinatario(String destinatario);
	
//--------------------------------------------------------------------------
	
	public abstract void escribirMail(String destino, String asunto, String mensaje);
	
//--------------------------------------------------------------------------

	
	public MimeMessage getMensaje() {
		return mensaje;
	}
	
	public Transport getTransportador() {
		return transportador;
	}
	
	public String getEmail() {
		return email;
	}
	
	public String getClave() {
		return clave;
	}
}
